! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! Auxiliary Routines File
! 
! Generated by KPP-2.2.3 symbolic chemistry Kinetics PreProcessor
!       (http://www.cs.vt.edu/~asandu/Software/KPP)
! KPP is distributed under GPL, the general public licence
!       (http://www.gnu.org/copyleft/gpl.html)
! (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa
! (C) 1997-2005, A. Sandu, Michigan Tech, Virginia Tech
!     With important contributions from:
!        M. Damian, Villanova University, USA
!        R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany
! 
! File                 : aromatics_kpp_Util.f90
! Time                 : Fri Jun 12 02:54:05 2020
! Working directory    : /n/home08/kbates/Aromatics/MCM_update_chamber
! Equation file        : aromatics_kpp.kpp
! Output root filename : aromatics_kpp
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



MODULE aromatics_kpp_Util

  USE aromatics_kpp_Parameters
  IMPLICIT NONE

CONTAINS



! User INLINED Utility Functions

! End INLINED Utility Functions

! Utility Functions from KPP_HOME/util/util
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! UTIL - Utility functions
!   Arguments :
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! ****************************************************************
!                            
! InitSaveData - Opens the data file for writing
!   Parameters :                                                  
!
! ****************************************************************

      SUBROUTINE InitSaveData ()

      USE aromatics_kpp_Parameters

      open(10, file='aromatics_kpp.dat')

      END SUBROUTINE InitSaveData

! End of InitSaveData function
! ****************************************************************

! ****************************************************************
!                            
! SaveData - Write LOOKAT species in the data file 
!   Parameters :                                                  
!
! ****************************************************************

      SUBROUTINE SaveData ()

      USE aromatics_kpp_Global
      USE aromatics_kpp_Monitor

      INTEGER i

      WRITE(10,999) (TIME-TSTART)/3600.D0,  &
                   (C(LOOKAT(i))/CFACTOR, i=1,NLOOKAT)
999   FORMAT(E24.16,100(1X,E24.16))

      END SUBROUTINE SaveData

! End of SaveData function
! ****************************************************************

! ****************************************************************
!                            
! CloseSaveData - Close the data file 
!   Parameters :                                                  
!
! ****************************************************************

      SUBROUTINE CloseSaveData ()

      USE aromatics_kpp_Parameters

      CLOSE(10)

      END SUBROUTINE CloseSaveData

! End of CloseSaveData function
! ****************************************************************

! ****************************************************************
!                            
! GenerateMatlab - Generates MATLAB file to load the data file 
!   Parameters : 
!                It will have a character string to prefix each 
!                species name with.                                                 
!
! ****************************************************************

      SUBROUTINE GenerateMatlab ( PREFIX )

      USE aromatics_kpp_Parameters
      USE aromatics_kpp_Global
      USE aromatics_kpp_Monitor

      
      CHARACTER(LEN=8) PREFIX 
      INTEGER i

      open(20, file='aromatics_kpp.m')
      write(20,*) 'load aromatics_kpp.dat;'
      write(20,990) PREFIX
990   FORMAT(A1,'c = aromatics_kpp;')
      write(20,*) 'clear aromatics_kpp;'
      write(20,991) PREFIX, PREFIX
991   FORMAT(A1,'t=',A1,'c(:,1);')
      write(20,992) PREFIX
992   FORMAT(A1,'c(:,1)=[];')

      do i=1,NLOOKAT
        write(20,993) PREFIX, SPC_NAMES(LOOKAT(i)), PREFIX, i
993     FORMAT(A1,A6,' = ',A1,'c(:,',I2,');')
      end do
      
      CLOSE(20)

      END SUBROUTINE GenerateMatlab

! End of GenerateMatlab function
! ****************************************************************


! End Utility Functions from KPP_HOME/util/util
! End of UTIL function
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! Shuffle_user2kpp - function to copy concentrations from USER to KPP
!   Arguments :
!      V_USER    - Concentration of variable species in USER's order
!      V         - Concentrations of variable species (local)
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SUBROUTINE Shuffle_user2kpp ( V_USER, V )

! V_USER - Concentration of variable species in USER's order
  REAL(kind=dp) :: V_USER(NVAR)
! V - Concentrations of variable species (local)
  REAL(kind=dp) :: V(NVAR)

  V(123) = V_USER(1)
  V(243) = V_USER(2)
  V(663) = V_USER(3)
  V(691) = V_USER(4)
  V(385) = V_USER(5)
  V(473) = V_USER(6)
  V(386) = V_USER(7)
  V(619) = V_USER(8)
  V(543) = V_USER(9)
  V(446) = V_USER(10)
  V(471) = V_USER(11)
  V(659) = V_USER(12)
  V(46) = V_USER(13)
  V(47) = V_USER(14)
  V(680) = V_USER(15)
  V(339) = V_USER(16)
  V(438) = V_USER(17)
  V(290) = V_USER(18)
  V(351) = V_USER(19)
  V(126) = V_USER(20)
  V(224) = V_USER(21)
  V(520) = V_USER(22)
  V(97) = V_USER(23)
  V(393) = V_USER(24)
  V(505) = V_USER(25)
  V(376) = V_USER(26)
  V(433) = V_USER(27)
  V(333) = V_USER(28)
  V(105) = V_USER(29)
  V(229) = V_USER(30)
  V(633) = V_USER(31)
  V(230) = V_USER(33)
  V(472) = V_USER(34)
  V(69) = V_USER(35)
  V(409) = V_USER(36)
  V(189) = V_USER(37)
  V(704) = V_USER(38)
  V(195) = V_USER(39)
  V(350) = V_USER(40)
  V(198) = V_USER(41)
  V(696) = V_USER(42)
  V(598) = V_USER(43)
  V(211) = V_USER(44)
  V(292) = V_USER(45)
  V(299) = V_USER(46)
  V(697) = V_USER(47)
  V(738) = V_USER(48)
  V(735) = V_USER(49)
  V(403) = V_USER(50)
  V(593) = V_USER(51)
  V(698) = V_USER(52)
  V(391) = V_USER(53)
  V(90) = V_USER(54)
  V(132) = V_USER(55)
  V(91) = V_USER(56)
  V(93) = V_USER(57)
  V(222) = V_USER(58)
  V(522) = V_USER(59)
  V(532) = V_USER(60)
  V(717) = V_USER(61)
  V(249) = V_USER(62)
  V(384) = V_USER(63)
  V(313) = V_USER(64)
  V(155) = V_USER(65)
  V(102) = V_USER(66)
  V(451) = V_USER(67)
  V(710) = V_USER(68)
  V(507) = V_USER(69)
  V(518) = V_USER(70)
  V(48) = V_USER(71)
  V(186) = V_USER(72)
  V(114) = V_USER(73)
  V(282) = V_USER(74)
  V(354) = V_USER(75)
  V(649) = V_USER(76)
  V(634) = V_USER(77)
  V(578) = V_USER(78)
  V(308) = V_USER(79)
  V(416) = V_USER(80)
  V(50) = V_USER(81)
  V(687) = V_USER(82)
  V(219) = V_USER(83)
  V(674) = V_USER(84)
  V(168) = V_USER(85)
  V(590) = V_USER(86)
  V(289) = V_USER(87)
  V(18) = V_USER(88)
  V(612) = V_USER(89)
  V(16) = V_USER(90)
  V(131) = V_USER(91)
  V(135) = V_USER(92)
  V(83) = V_USER(93)
  V(19) = V_USER(94)
  V(359) = V_USER(95)
  V(137) = V_USER(97)
  V(701) = V_USER(98)
  V(437) = V_USER(99)
  V(512) = V_USER(100)
  V(586) = V_USER(101)
  V(314) = V_USER(102)
  V(251) = V_USER(103)
  V(252) = V_USER(104)
  V(672) = V_USER(105)
  V(84) = V_USER(106)
  V(476) = V_USER(107)
  V(334) = V_USER(108)
  V(174) = V_USER(109)
  V(406) = V_USER(110)
  V(180) = V_USER(111)
  V(699) = V_USER(112)
  V(190) = V_USER(113)
  V(693) = V_USER(114)
  V(545) = V_USER(115)
  V(85) = V_USER(116)
  V(355) = V_USER(117)
  V(236) = V_USER(118)
  V(286) = V_USER(119)
  V(86) = V_USER(120)
  V(365) = V_USER(121)
  V(534) = V_USER(122)
  V(212) = V_USER(123)
  V(373) = V_USER(124)
  V(618) = V_USER(125)
  V(620) = V_USER(126)
  V(580) = V_USER(127)
  V(690) = V_USER(128)
  V(327) = V_USER(129)
  V(361) = V_USER(130)
  V(124) = V_USER(131)
  V(425) = V_USER(132)
  V(645) = V_USER(133)
  V(125) = V_USER(134)
  V(342) = V_USER(136)
  V(278) = V_USER(137)
  V(614) = V_USER(138)
  V(475) = V_USER(139)
  V(87) = V_USER(140)
  V(269) = V_USER(141)
  V(20) = V_USER(142)
  V(253) = V_USER(143)
  V(426) = V_USER(144)
  V(78) = V_USER(145)
  V(127) = V_USER(146)
  V(344) = V_USER(147)
  V(613) = V_USER(148)
  V(128) = V_USER(149)
  V(723) = V_USER(150)
  V(434) = V_USER(151)
  V(666) = V_USER(152)
  V(537) = V_USER(153)
  V(51) = V_USER(154)
  V(315) = V_USER(155)
  V(316) = V_USER(156)
  V(419) = V_USER(157)
  V(52) = V_USER(158)
  V(21) = V_USER(159)
  V(596) = V_USER(160)
  V(225) = V_USER(161)
  V(324) = V_USER(162)
  V(129) = V_USER(163)
  V(256) = V_USER(164)
  V(257) = V_USER(165)
  V(577) = V_USER(166)
  V(582) = V_USER(167)
  V(400) = V_USER(168)
  V(490) = V_USER(169)
  V(597) = V_USER(170)
  V(329) = V_USER(171)
  V(88) = V_USER(172)
  V(263) = V_USER(173)
  V(592) = V_USER(174)
  V(265) = V_USER(175)
  V(445) = V_USER(176)
  V(430) = V_USER(177)
  V(684) = V_USER(178)
  V(495) = V_USER(179)
  V(272) = V_USER(181)
  V(487) = V_USER(182)
  V(338) = V_USER(183)
  V(89) = V_USER(184)
  V(562) = V_USER(185)
  V(130) = V_USER(186)
  V(439) = V_USER(187)
  V(53) = V_USER(188)
  V(54) = V_USER(189)
  V(700) = V_USER(190)
  V(133) = V_USER(191)
  V(440) = V_USER(192)
  V(410) = V_USER(193)
  V(134) = V_USER(194)
  V(463) = V_USER(195)
  V(55) = V_USER(196)
  V(464) = V_USER(197)
  V(689) = V_USER(198)
  V(136) = V_USER(199)
  V(92) = V_USER(200)
  V(56) = V_USER(201)
  V(353) = V_USER(202)
  V(675) = V_USER(203)
  V(284) = V_USER(204)
  V(673) = V_USER(205)
  V(356) = V_USER(206)
  V(498) = V_USER(207)
  V(716) = V_USER(208)
  V(94) = V_USER(209)
  V(549) = V_USER(210)
  V(455) = V_USER(211)
  V(427) = V_USER(212)
  V(396) = V_USER(213)
  V(604) = V_USER(214)
  V(95) = V_USER(215)
  V(642) = V_USER(216)
  V(502) = V_USER(217)
  V(294) = V_USER(218)
  V(300) = V_USER(219)
  V(660) = V_USER(220)
  V(381) = V_USER(221)
  V(305) = V_USER(222)
  V(639) = V_USER(223)
  V(703) = V_USER(224)
  V(138) = V_USER(225)
  V(607) = V_USER(226)
  V(139) = V_USER(227)
  V(96) = V_USER(228)
  V(720) = V_USER(229)
  V(140) = V_USER(230)
  V(22) = V_USER(231)
  V(575) = V_USER(232)
  V(221) = V_USER(233)
  V(57) = V_USER(234)
  V(516) = V_USER(235)
  V(669) = V_USER(236)
  V(141) = V_USER(237)
  V(345) = V_USER(238)
  V(513) = V_USER(239)
  V(453) = V_USER(240)
  V(288) = V_USER(241)
  V(510) = V_USER(242)
  V(367) = V_USER(243)
  V(468) = V_USER(244)
  V(142) = V_USER(245)
  V(616) = V_USER(246)
  V(588) = V_USER(247)
  V(488) = V_USER(248)
  V(643) = V_USER(249)
  V(591) = V_USER(250)
  V(404) = V_USER(251)
  V(352) = V_USER(252)
  V(417) = V_USER(253)
  V(695) = V_USER(254)
  V(462) = V_USER(255)
  V(504) = V_USER(256)
  V(244) = V_USER(257)
  V(58) = V_USER(259)
  V(661) = V_USER(260)
  V(479) = V_USER(261)
  V(143) = V_USER(262)
  V(503) = V_USER(263)
  V(508) = V_USER(264)
  V(245) = V_USER(265)
  V(524) = V_USER(266)
  V(685) = V_USER(267)
  V(635) = V_USER(268)
  V(737) = V_USER(269)
  V(547) = V_USER(270)
  V(443) = V_USER(271)
  V(548) = V_USER(272)
  V(247) = V_USER(273)
  V(223) = V_USER(274)
  V(569) = V_USER(275)
  V(573) = V_USER(276)
  V(59) = V_USER(277)
  V(23) = V_USER(278)
  V(572) = V_USER(279)
  V(688) = V_USER(280)
  V(483) = V_USER(281)
  V(144) = V_USER(282)
  V(24) = V_USER(283)
  V(98) = V_USER(284)
  V(429) = V_USER(285)
  V(145) = V_USER(286)
  V(248) = V_USER(287)
  V(493) = V_USER(288)
  V(412) = V_USER(289)
  V(497) = V_USER(290)
  V(360) = V_USER(291)
  V(146) = V_USER(292)
  V(364) = V_USER(293)
  V(147) = V_USER(294)
  V(366) = V_USER(295)
  V(148) = V_USER(296)
  V(712) = V_USER(297)
  V(25) = V_USER(298)
  V(149) = V_USER(299)
  V(729) = V_USER(300)
  V(150) = V_USER(301)
  V(60) = V_USER(302)
  V(26) = V_USER(303)
  V(460) = V_USER(304)
  V(401) = V_USER(305)
  V(644) = V_USER(306)
  V(461) = V_USER(307)
  V(555) = V_USER(308)
  V(61) = V_USER(309)
  V(648) = V_USER(310)
  V(731) = V_USER(311)
  V(99) = V_USER(312)
  V(62) = V_USER(313)
  V(63) = V_USER(314)
  V(457) = V_USER(315)
  V(151) = V_USER(316)
  V(362) = V_USER(317)
  V(711) = V_USER(318)
  V(615) = V_USER(319)
  V(100) = V_USER(320)
  V(152) = V_USER(321)
  V(387) = V_USER(322)
  V(485) = V_USER(323)
  V(153) = V_USER(324)
  V(317) = V_USER(325)
  V(154) = V_USER(326)
  V(64) = V_USER(327)
  V(318) = V_USER(328)
  V(326) = V_USER(329)
  V(515) = V_USER(330)
  V(489) = V_USER(331)
  V(156) = V_USER(332)
  V(319) = V_USER(333)
  V(589) = V_USER(334)
  V(320) = V_USER(335)
  V(657) = V_USER(336)
  V(250) = V_USER(337)
  V(157) = V_USER(338)
  V(101) = V_USER(339)
  V(321) = V_USER(340)
  V(469) = V_USER(341)
  V(65) = V_USER(342)
  V(158) = V_USER(343)
  V(647) = V_USER(344)
  V(683) = V_USER(345)
  V(322) = V_USER(346)
  V(323) = V_USER(347)
  V(631) = V_USER(348)
  V(486) = V_USER(349)
  V(553) = V_USER(350)
  V(226) = V_USER(351)
  V(159) = V_USER(352)
  V(255) = V_USER(353)
  V(66) = V_USER(354)
  V(491) = V_USER(355)
  V(606) = V_USER(356)
  V(492) = V_USER(357)
  V(325) = V_USER(358)
  V(160) = V_USER(359)
  V(27) = V_USER(360)
  V(161) = V_USER(361)
  V(442) = V_USER(362)
  V(600) = V_USER(363)
  V(730) = V_USER(364)
  V(676) = V_USER(365)
  V(499) = V_USER(366)
  V(574) = V_USER(367)
  V(162) = V_USER(368)
  V(636) = V_USER(369)
  V(467) = V_USER(370)
  V(163) = V_USER(371)
  V(258) = V_USER(372)
  V(227) = V_USER(373)
  V(459) = V_USER(374)
  V(103) = V_USER(375)
  V(68) = V_USER(376)
  V(164) = V_USER(377)
  V(259) = V_USER(378)
  V(165) = V_USER(379)
  V(651) = V_USER(380)
  V(719) = V_USER(381)
  V(727) = V_USER(382)
  V(692) = V_USER(384)
  V(260) = V_USER(385)
  V(525) = V_USER(386)
  V(166) = V_USER(387)
  V(167) = V_USER(388)
  V(470) = V_USER(389)
  V(328) = V_USER(390)
  V(104) = V_USER(391)
  V(557) = V_USER(392)
  V(617) = V_USER(393)
  V(330) = V_USER(394)
  V(261) = V_USER(395)
  V(546) = V_USER(396)
  V(331) = V_USER(397)
  V(550) = V_USER(398)
  V(526) = V_USER(399)
  V(169) = V_USER(400)
  V(677) = V_USER(401)
  V(262) = V_USER(402)
  V(170) = V_USER(404)
  V(477) = V_USER(405)
  V(264) = V_USER(406)
  V(332) = V_USER(407)
  V(171) = V_USER(408)
  V(594) = V_USER(409)
  V(702) = V_USER(410)
  V(544) = V_USER(411)
  V(654) = V_USER(412)
  V(500) = V_USER(413)
  V(686) = V_USER(414)
  V(724) = V_USER(415)
  V(601) = V_USER(416)
  V(625) = V_USER(417)
  V(172) = V_USER(418)
  V(721) = V_USER(419)
  V(228) = V_USER(420)
  V(266) = V_USER(421)
  V(173) = V_USER(422)
  V(670) = V_USER(423)
  V(28) = V_USER(424)
  V(542) = V_USER(425)
  V(29) = V_USER(426)
  V(388) = V_USER(427)
  V(267) = V_USER(428)
  V(268) = V_USER(429)
  V(478) = V_USER(430)
  V(30) = V_USER(431)
  V(106) = V_USER(432)
  V(31) = V_USER(433)
  V(67) = V_USER(434)
  V(335) = V_USER(435)
  V(32) = V_USER(436)
  V(540) = V_USER(437)
  V(559) = V_USER(438)
  V(561) = V_USER(439)
  V(713) = V_USER(440)
  V(650) = V_USER(441)
  V(336) = V_USER(442)
  V(107) = V_USER(443)
  V(175) = V_USER(444)
  V(656) = V_USER(445)
  V(474) = V_USER(446)
  V(535) = V_USER(447)
  V(629) = V_USER(448)
  V(682) = V_USER(449)
  V(310) = V_USER(450)
  V(521) = V_USER(451)
  V(715) = V_USER(452)
  V(420) = V_USER(453)
  V(447) = V_USER(454)
  V(270) = V_USER(455)
  V(609) = V_USER(456)
  V(421) = V_USER(457)
  V(422) = V_USER(458)
  V(176) = V_USER(459)
  V(405) = V_USER(460)
  V(423) = V_USER(461)
  V(271) = V_USER(462)
  V(177) = V_USER(463)
  V(108) = V_USER(464)
  V(273) = V_USER(465)
  V(337) = V_USER(466)
  V(668) = V_USER(467)
  V(389) = V_USER(468)
  V(558) = V_USER(469)
  V(178) = V_USER(470)
  V(678) = V_USER(471)
  V(739) = V_USER(472)
  V(179) = V_USER(473)
  V(709) = V_USER(474)
  V(551) = V_USER(475)
  V(566) = V_USER(476)
  V(627) = V_USER(477)
  V(448) = V_USER(478)
  V(556) = V_USER(479)
  V(33) = V_USER(480)
  V(109) = V_USER(481)
  V(181) = V_USER(482)
  V(424) = V_USER(483)
  V(182) = V_USER(484)
  V(274) = V_USER(485)
  V(34) = V_USER(486)
  V(554) = V_USER(487)
  V(628) = V_USER(488)
  V(390) = V_USER(489)
  V(714) = V_USER(490)
  V(183) = V_USER(491)
  V(275) = V_USER(492)
  V(595) = V_USER(493)
  V(528) = V_USER(494)
  V(407) = V_USER(495)
  V(449) = V_USER(496)
  V(340) = V_USER(497)
  V(482) = V_USER(498)
  V(640) = V_USER(499)
  V(231) = V_USER(500)
  V(408) = V_USER(501)
  V(276) = V_USER(502)
  V(341) = V_USER(503)
  V(184) = V_USER(504)
  V(530) = V_USER(505)
  V(531) = V_USER(506)
  V(603) = V_USER(507)
  V(533) = V_USER(508)
  V(621) = V_USER(509)
  V(232) = V_USER(510)
  V(110) = V_USER(511)
  V(185) = V_USER(512)
  V(392) = V_USER(513)
  V(70) = V_USER(514)
  V(563) = V_USER(515)
  V(484) = V_USER(516)
  V(722) = V_USER(517)
  V(587) = V_USER(518)
  V(71) = V_USER(519)
  V(233) = V_USER(520)
  V(187) = V_USER(521)
  V(343) = V_USER(522)
  V(428) = V_USER(523)
  V(450) = V_USER(524)
  V(623) = V_USER(525)
  V(35) = V_USER(526)
  V(579) = V_USER(527)
  V(188) = V_USER(528)
  V(1) = V_USER(529)
  V(311) = V_USER(530)
  V(36) = V_USER(531)
  V(277) = V_USER(532)
  V(234) = V_USER(533)
  V(658) = V_USER(534)
  V(111) = V_USER(535)
  V(191) = V_USER(536)
  V(279) = V_USER(537)
  V(192) = V_USER(538)
  V(346) = V_USER(539)
  V(665) = V_USER(540)
  V(37) = V_USER(541)
  V(112) = V_USER(542)
  V(193) = V_USER(543)
  V(194) = V_USER(544)
  V(280) = V_USER(545)
  V(552) = V_USER(546)
  V(347) = V_USER(547)
  V(348) = V_USER(548)
  V(626) = V_USER(549)
  V(281) = V_USER(550)
  V(718) = V_USER(551)
  V(411) = V_USER(552)
  V(38) = V_USER(553)
  V(564) = V_USER(554)
  V(529) = V_USER(555)
  V(734) = V_USER(556)
  V(349) = V_USER(557)
  V(113) = V_USER(558)
  V(637) = V_USER(559)
  V(39) = V_USER(560)
  V(611) = V_USER(561)
  V(254) = V_USER(562)
  V(394) = V_USER(563)
  V(431) = V_USER(564)
  V(72) = V_USER(565)
  V(395) = V_USER(566)
  V(235) = V_USER(567)
  V(514) = V_USER(568)
  V(196) = V_USER(569)
  V(581) = V_USER(570)
  V(197) = V_USER(571)
  V(608) = V_USER(572)
  V(73) = V_USER(573)
  V(560) = V_USER(574)
  V(40) = V_USER(575)
  V(246) = V_USER(576)
  V(679) = V_USER(577)
  V(283) = V_USER(578)
  V(441) = V_USER(579)
  V(465) = V_USER(580)
  V(41) = V_USER(581)
  V(517) = V_USER(582)
  V(397) = V_USER(583)
  V(74) = V_USER(584)
  V(432) = V_USER(585)
  V(494) = V_USER(586)
  V(570) = V_USER(587)
  V(571) = V_USER(588)
  V(199) = V_USER(589)
  V(452) = V_USER(590)
  V(115) = V_USER(591)
  V(728) = V_USER(592)
  V(398) = V_USER(593)
  V(708) = V_USER(594)
  V(732) = V_USER(595)
  V(662) = V_USER(596)
  V(496) = V_USER(597)
  V(527) = V_USER(598)
  V(667) = V_USER(599)
  V(610) = V_USER(600)
  V(200) = V_USER(601)
  V(466) = V_USER(602)
  V(681) = V_USER(603)
  V(694) = V_USER(604)
  V(116) = V_USER(605)
  V(638) = V_USER(606)
  V(664) = V_USER(607)
  V(42) = V_USER(608)
  V(454) = V_USER(609)
  V(285) = V_USER(610)
  V(201) = V_USER(611)
  V(599) = V_USER(612)
  V(75) = V_USER(613)
  V(202) = V_USER(614)
  V(203) = V_USER(615)
  V(357) = V_USER(616)
  V(358) = V_USER(617)
  V(204) = V_USER(618)
  V(205) = V_USER(619)
  V(117) = V_USER(620)
  V(206) = V_USER(621)
  V(287) = V_USER(622)
  V(399) = V_USER(623)
  V(519) = V_USER(624)
  V(207) = V_USER(625)
  V(602) = V_USER(626)
  V(456) = V_USER(627)
  V(312) = V_USER(628)
  V(363) = V_USER(629)
  V(413) = V_USER(630)
  V(237) = V_USER(631)
  V(118) = V_USER(632)
  V(652) = V_USER(633)
  V(576) = V_USER(634)
  V(208) = V_USER(635)
  V(119) = V_USER(636)
  V(414) = V_USER(637)
  V(501) = V_USER(638)
  V(120) = V_USER(639)
  V(209) = V_USER(640)
  V(210) = V_USER(641)
  V(725) = V_USER(642)
  V(43) = V_USER(643)
  V(76) = V_USER(644)
  V(121) = V_USER(645)
  V(77) = V_USER(646)
  V(458) = V_USER(647)
  V(213) = V_USER(648)
  V(239) = V_USER(649)
  V(291) = V_USER(650)
  V(622) = V_USER(651)
  V(368) = V_USER(652)
  V(444) = V_USER(653)
  V(44) = V_USER(654)
  V(415) = V_USER(655)
  V(80) = V_USER(656)
  V(736) = V_USER(657)
  V(369) = V_USER(659)
  V(370) = V_USER(660)
  V(293) = V_USER(661)
  V(506) = V_USER(662)
  V(605) = V_USER(663)
  V(706) = V_USER(664)
  V(371) = V_USER(665)
  V(583) = V_USER(666)
  V(372) = V_USER(667)
  V(214) = V_USER(668)
  V(122) = V_USER(669)
  V(295) = V_USER(670)
  V(240) = V_USER(671)
  V(536) = V_USER(672)
  V(646) = V_USER(673)
  V(374) = V_USER(674)
  V(296) = V_USER(675)
  V(375) = V_USER(676)
  V(707) = V_USER(677)
  V(538) = V_USER(678)
  V(539) = V_USER(679)
  V(297) = V_USER(680)
  V(624) = V_USER(681)
  V(523) = V_USER(682)
  V(298) = V_USER(683)
  V(509) = V_USER(684)
  V(565) = V_USER(685)
  V(45) = V_USER(686)
  V(435) = V_USER(687)
  V(641) = V_USER(688)
  V(79) = V_USER(689)
  V(215) = V_USER(690)
  V(726) = V_USER(691)
  V(671) = V_USER(692)
  V(377) = V_USER(693)
  V(378) = V_USER(694)
  V(379) = V_USER(695)
  V(402) = V_USER(696)
  V(216) = V_USER(697)
  V(436) = V_USER(698)
  V(301) = V_USER(699)
  V(302) = V_USER(700)
  V(584) = V_USER(701)
  V(733) = V_USER(702)
  V(653) = V_USER(703)
  V(380) = V_USER(704)
  V(217) = V_USER(705)
  V(480) = V_USER(706)
  V(303) = V_USER(707)
  V(304) = V_USER(708)
  V(382) = V_USER(709)
  V(81) = V_USER(710)
  V(541) = V_USER(711)
  V(705) = V_USER(712)
  V(630) = V_USER(713)
  V(418) = V_USER(714)
  V(632) = V_USER(715)
  V(655) = V_USER(716)
  V(218) = V_USER(717)
  V(49) = V_USER(718)
  V(585) = V_USER(719)
  V(567) = V_USER(720)
  V(383) = V_USER(721)
  V(238) = V_USER(722)
  V(306) = V_USER(723)
  V(17) = V_USER(724)
  V(82) = V_USER(725)
  V(481) = V_USER(726)
  V(568) = V_USER(727)
  V(307) = V_USER(728)
  V(241) = V_USER(729)
  V(220) = V_USER(730)
  V(511) = V_USER(731)
  V(309) = V_USER(732)
  V(242) = V_USER(733)
  V(2) = V_USER(734)
  V(3) = V_USER(735)
  V(4) = V_USER(736)
  V(5) = V_USER(737)
  V(6) = V_USER(738)
  V(7) = V_USER(739)
      
END SUBROUTINE Shuffle_user2kpp

! End of Shuffle_user2kpp function
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! Shuffle_kpp2user - function to restore concentrations from KPP to USER
!   Arguments :
!      V         - Concentrations of variable species (local)
!      V_USER    - Concentration of variable species in USER's order
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SUBROUTINE Shuffle_kpp2user ( V, V_USER )

! V - Concentrations of variable species (local)
  REAL(kind=dp) :: V(NVAR)
! V_USER - Concentration of variable species in USER's order
  REAL(kind=dp) :: V_USER(NVAR)

  V_USER(1) = V(123)
  V_USER(2) = V(243)
  V_USER(3) = V(663)
  V_USER(4) = V(691)
  V_USER(5) = V(385)
  V_USER(6) = V(473)
  V_USER(7) = V(386)
  V_USER(8) = V(619)
  V_USER(9) = V(543)
  V_USER(10) = V(446)
  V_USER(11) = V(471)
  V_USER(12) = V(659)
  V_USER(13) = V(46)
  V_USER(14) = V(47)
  V_USER(15) = V(680)
  V_USER(16) = V(339)
  V_USER(17) = V(438)
  V_USER(18) = V(290)
  V_USER(19) = V(351)
  V_USER(20) = V(126)
  V_USER(21) = V(224)
  V_USER(22) = V(520)
  V_USER(23) = V(97)
  V_USER(24) = V(393)
  V_USER(25) = V(505)
  V_USER(26) = V(376)
  V_USER(27) = V(433)
  V_USER(28) = V(333)
  V_USER(29) = V(105)
  V_USER(30) = V(229)
  V_USER(31) = V(633)
  V_USER(33) = V(230)
  V_USER(34) = V(472)
  V_USER(35) = V(69)
  V_USER(36) = V(409)
  V_USER(37) = V(189)
  V_USER(38) = V(704)
  V_USER(39) = V(195)
  V_USER(40) = V(350)
  V_USER(41) = V(198)
  V_USER(42) = V(696)
  V_USER(43) = V(598)
  V_USER(44) = V(211)
  V_USER(45) = V(292)
  V_USER(46) = V(299)
  V_USER(47) = V(697)
  V_USER(48) = V(738)
  V_USER(49) = V(735)
  V_USER(50) = V(403)
  V_USER(51) = V(593)
  V_USER(52) = V(698)
  V_USER(53) = V(391)
  V_USER(54) = V(90)
  V_USER(55) = V(132)
  V_USER(56) = V(91)
  V_USER(57) = V(93)
  V_USER(58) = V(222)
  V_USER(59) = V(522)
  V_USER(60) = V(532)
  V_USER(61) = V(717)
  V_USER(62) = V(249)
  V_USER(63) = V(384)
  V_USER(64) = V(313)
  V_USER(65) = V(155)
  V_USER(66) = V(102)
  V_USER(67) = V(451)
  V_USER(68) = V(710)
  V_USER(69) = V(507)
  V_USER(70) = V(518)
  V_USER(71) = V(48)
  V_USER(72) = V(186)
  V_USER(73) = V(114)
  V_USER(74) = V(282)
  V_USER(75) = V(354)
  V_USER(76) = V(649)
  V_USER(77) = V(634)
  V_USER(78) = V(578)
  V_USER(79) = V(308)
  V_USER(80) = V(416)
  V_USER(81) = V(50)
  V_USER(82) = V(687)
  V_USER(83) = V(219)
  V_USER(84) = V(674)
  V_USER(85) = V(168)
  V_USER(86) = V(590)
  V_USER(87) = V(289)
  V_USER(88) = V(18)
  V_USER(89) = V(612)
  V_USER(90) = V(16)
  V_USER(91) = V(131)
  V_USER(92) = V(135)
  V_USER(93) = V(83)
  V_USER(94) = V(19)
  V_USER(95) = V(359)
  V_USER(97) = V(137)
  V_USER(98) = V(701)
  V_USER(99) = V(437)
  V_USER(100) = V(512)
  V_USER(101) = V(586)
  V_USER(102) = V(314)
  V_USER(103) = V(251)
  V_USER(104) = V(252)
  V_USER(105) = V(672)
  V_USER(106) = V(84)
  V_USER(107) = V(476)
  V_USER(108) = V(334)
  V_USER(109) = V(174)
  V_USER(110) = V(406)
  V_USER(111) = V(180)
  V_USER(112) = V(699)
  V_USER(113) = V(190)
  V_USER(114) = V(693)
  V_USER(115) = V(545)
  V_USER(116) = V(85)
  V_USER(117) = V(355)
  V_USER(118) = V(236)
  V_USER(119) = V(286)
  V_USER(120) = V(86)
  V_USER(121) = V(365)
  V_USER(122) = V(534)
  V_USER(123) = V(212)
  V_USER(124) = V(373)
  V_USER(125) = V(618)
  V_USER(126) = V(620)
  V_USER(127) = V(580)
  V_USER(128) = V(690)
  V_USER(129) = V(327)
  V_USER(130) = V(361)
  V_USER(131) = V(124)
  V_USER(132) = V(425)
  V_USER(133) = V(645)
  V_USER(134) = V(125)
  V_USER(136) = V(342)
  V_USER(137) = V(278)
  V_USER(138) = V(614)
  V_USER(139) = V(475)
  V_USER(140) = V(87)
  V_USER(141) = V(269)
  V_USER(142) = V(20)
  V_USER(143) = V(253)
  V_USER(144) = V(426)
  V_USER(145) = V(78)
  V_USER(146) = V(127)
  V_USER(147) = V(344)
  V_USER(148) = V(613)
  V_USER(149) = V(128)
  V_USER(150) = V(723)
  V_USER(151) = V(434)
  V_USER(152) = V(666)
  V_USER(153) = V(537)
  V_USER(154) = V(51)
  V_USER(155) = V(315)
  V_USER(156) = V(316)
  V_USER(157) = V(419)
  V_USER(158) = V(52)
  V_USER(159) = V(21)
  V_USER(160) = V(596)
  V_USER(161) = V(225)
  V_USER(162) = V(324)
  V_USER(163) = V(129)
  V_USER(164) = V(256)
  V_USER(165) = V(257)
  V_USER(166) = V(577)
  V_USER(167) = V(582)
  V_USER(168) = V(400)
  V_USER(169) = V(490)
  V_USER(170) = V(597)
  V_USER(171) = V(329)
  V_USER(172) = V(88)
  V_USER(173) = V(263)
  V_USER(174) = V(592)
  V_USER(175) = V(265)
  V_USER(176) = V(445)
  V_USER(177) = V(430)
  V_USER(178) = V(684)
  V_USER(179) = V(495)
  V_USER(181) = V(272)
  V_USER(182) = V(487)
  V_USER(183) = V(338)
  V_USER(184) = V(89)
  V_USER(185) = V(562)
  V_USER(186) = V(130)
  V_USER(187) = V(439)
  V_USER(188) = V(53)
  V_USER(189) = V(54)
  V_USER(190) = V(700)
  V_USER(191) = V(133)
  V_USER(192) = V(440)
  V_USER(193) = V(410)
  V_USER(194) = V(134)
  V_USER(195) = V(463)
  V_USER(196) = V(55)
  V_USER(197) = V(464)
  V_USER(198) = V(689)
  V_USER(199) = V(136)
  V_USER(200) = V(92)
  V_USER(201) = V(56)
  V_USER(202) = V(353)
  V_USER(203) = V(675)
  V_USER(204) = V(284)
  V_USER(205) = V(673)
  V_USER(206) = V(356)
  V_USER(207) = V(498)
  V_USER(208) = V(716)
  V_USER(209) = V(94)
  V_USER(210) = V(549)
  V_USER(211) = V(455)
  V_USER(212) = V(427)
  V_USER(213) = V(396)
  V_USER(214) = V(604)
  V_USER(215) = V(95)
  V_USER(216) = V(642)
  V_USER(217) = V(502)
  V_USER(218) = V(294)
  V_USER(219) = V(300)
  V_USER(220) = V(660)
  V_USER(221) = V(381)
  V_USER(222) = V(305)
  V_USER(223) = V(639)
  V_USER(224) = V(703)
  V_USER(225) = V(138)
  V_USER(226) = V(607)
  V_USER(227) = V(139)
  V_USER(228) = V(96)
  V_USER(229) = V(720)
  V_USER(230) = V(140)
  V_USER(231) = V(22)
  V_USER(232) = V(575)
  V_USER(233) = V(221)
  V_USER(234) = V(57)
  V_USER(235) = V(516)
  V_USER(236) = V(669)
  V_USER(237) = V(141)
  V_USER(238) = V(345)
  V_USER(239) = V(513)
  V_USER(240) = V(453)
  V_USER(241) = V(288)
  V_USER(242) = V(510)
  V_USER(243) = V(367)
  V_USER(244) = V(468)
  V_USER(245) = V(142)
  V_USER(246) = V(616)
  V_USER(247) = V(588)
  V_USER(248) = V(488)
  V_USER(249) = V(643)
  V_USER(250) = V(591)
  V_USER(251) = V(404)
  V_USER(252) = V(352)
  V_USER(253) = V(417)
  V_USER(254) = V(695)
  V_USER(255) = V(462)
  V_USER(256) = V(504)
  V_USER(257) = V(244)
  V_USER(259) = V(58)
  V_USER(260) = V(661)
  V_USER(261) = V(479)
  V_USER(262) = V(143)
  V_USER(263) = V(503)
  V_USER(264) = V(508)
  V_USER(265) = V(245)
  V_USER(266) = V(524)
  V_USER(267) = V(685)
  V_USER(268) = V(635)
  V_USER(269) = V(737)
  V_USER(270) = V(547)
  V_USER(271) = V(443)
  V_USER(272) = V(548)
  V_USER(273) = V(247)
  V_USER(274) = V(223)
  V_USER(275) = V(569)
  V_USER(276) = V(573)
  V_USER(277) = V(59)
  V_USER(278) = V(23)
  V_USER(279) = V(572)
  V_USER(280) = V(688)
  V_USER(281) = V(483)
  V_USER(282) = V(144)
  V_USER(283) = V(24)
  V_USER(284) = V(98)
  V_USER(285) = V(429)
  V_USER(286) = V(145)
  V_USER(287) = V(248)
  V_USER(288) = V(493)
  V_USER(289) = V(412)
  V_USER(290) = V(497)
  V_USER(291) = V(360)
  V_USER(292) = V(146)
  V_USER(293) = V(364)
  V_USER(294) = V(147)
  V_USER(295) = V(366)
  V_USER(296) = V(148)
  V_USER(297) = V(712)
  V_USER(298) = V(25)
  V_USER(299) = V(149)
  V_USER(300) = V(729)
  V_USER(301) = V(150)
  V_USER(302) = V(60)
  V_USER(303) = V(26)
  V_USER(304) = V(460)
  V_USER(305) = V(401)
  V_USER(306) = V(644)
  V_USER(307) = V(461)
  V_USER(308) = V(555)
  V_USER(309) = V(61)
  V_USER(310) = V(648)
  V_USER(311) = V(731)
  V_USER(312) = V(99)
  V_USER(313) = V(62)
  V_USER(314) = V(63)
  V_USER(315) = V(457)
  V_USER(316) = V(151)
  V_USER(317) = V(362)
  V_USER(318) = V(711)
  V_USER(319) = V(615)
  V_USER(320) = V(100)
  V_USER(321) = V(152)
  V_USER(322) = V(387)
  V_USER(323) = V(485)
  V_USER(324) = V(153)
  V_USER(325) = V(317)
  V_USER(326) = V(154)
  V_USER(327) = V(64)
  V_USER(328) = V(318)
  V_USER(329) = V(326)
  V_USER(330) = V(515)
  V_USER(331) = V(489)
  V_USER(332) = V(156)
  V_USER(333) = V(319)
  V_USER(334) = V(589)
  V_USER(335) = V(320)
  V_USER(336) = V(657)
  V_USER(337) = V(250)
  V_USER(338) = V(157)
  V_USER(339) = V(101)
  V_USER(340) = V(321)
  V_USER(341) = V(469)
  V_USER(342) = V(65)
  V_USER(343) = V(158)
  V_USER(344) = V(647)
  V_USER(345) = V(683)
  V_USER(346) = V(322)
  V_USER(347) = V(323)
  V_USER(348) = V(631)
  V_USER(349) = V(486)
  V_USER(350) = V(553)
  V_USER(351) = V(226)
  V_USER(352) = V(159)
  V_USER(353) = V(255)
  V_USER(354) = V(66)
  V_USER(355) = V(491)
  V_USER(356) = V(606)
  V_USER(357) = V(492)
  V_USER(358) = V(325)
  V_USER(359) = V(160)
  V_USER(360) = V(27)
  V_USER(361) = V(161)
  V_USER(362) = V(442)
  V_USER(363) = V(600)
  V_USER(364) = V(730)
  V_USER(365) = V(676)
  V_USER(366) = V(499)
  V_USER(367) = V(574)
  V_USER(368) = V(162)
  V_USER(369) = V(636)
  V_USER(370) = V(467)
  V_USER(371) = V(163)
  V_USER(372) = V(258)
  V_USER(373) = V(227)
  V_USER(374) = V(459)
  V_USER(375) = V(103)
  V_USER(376) = V(68)
  V_USER(377) = V(164)
  V_USER(378) = V(259)
  V_USER(379) = V(165)
  V_USER(380) = V(651)
  V_USER(381) = V(719)
  V_USER(382) = V(727)
  V_USER(384) = V(692)
  V_USER(385) = V(260)
  V_USER(386) = V(525)
  V_USER(387) = V(166)
  V_USER(388) = V(167)
  V_USER(389) = V(470)
  V_USER(390) = V(328)
  V_USER(391) = V(104)
  V_USER(392) = V(557)
  V_USER(393) = V(617)
  V_USER(394) = V(330)
  V_USER(395) = V(261)
  V_USER(396) = V(546)
  V_USER(397) = V(331)
  V_USER(398) = V(550)
  V_USER(399) = V(526)
  V_USER(400) = V(169)
  V_USER(401) = V(677)
  V_USER(402) = V(262)
  V_USER(404) = V(170)
  V_USER(405) = V(477)
  V_USER(406) = V(264)
  V_USER(407) = V(332)
  V_USER(408) = V(171)
  V_USER(409) = V(594)
  V_USER(410) = V(702)
  V_USER(411) = V(544)
  V_USER(412) = V(654)
  V_USER(413) = V(500)
  V_USER(414) = V(686)
  V_USER(415) = V(724)
  V_USER(416) = V(601)
  V_USER(417) = V(625)
  V_USER(418) = V(172)
  V_USER(419) = V(721)
  V_USER(420) = V(228)
  V_USER(421) = V(266)
  V_USER(422) = V(173)
  V_USER(423) = V(670)
  V_USER(424) = V(28)
  V_USER(425) = V(542)
  V_USER(426) = V(29)
  V_USER(427) = V(388)
  V_USER(428) = V(267)
  V_USER(429) = V(268)
  V_USER(430) = V(478)
  V_USER(431) = V(30)
  V_USER(432) = V(106)
  V_USER(433) = V(31)
  V_USER(434) = V(67)
  V_USER(435) = V(335)
  V_USER(436) = V(32)
  V_USER(437) = V(540)
  V_USER(438) = V(559)
  V_USER(439) = V(561)
  V_USER(440) = V(713)
  V_USER(441) = V(650)
  V_USER(442) = V(336)
  V_USER(443) = V(107)
  V_USER(444) = V(175)
  V_USER(445) = V(656)
  V_USER(446) = V(474)
  V_USER(447) = V(535)
  V_USER(448) = V(629)
  V_USER(449) = V(682)
  V_USER(450) = V(310)
  V_USER(451) = V(521)
  V_USER(452) = V(715)
  V_USER(453) = V(420)
  V_USER(454) = V(447)
  V_USER(455) = V(270)
  V_USER(456) = V(609)
  V_USER(457) = V(421)
  V_USER(458) = V(422)
  V_USER(459) = V(176)
  V_USER(460) = V(405)
  V_USER(461) = V(423)
  V_USER(462) = V(271)
  V_USER(463) = V(177)
  V_USER(464) = V(108)
  V_USER(465) = V(273)
  V_USER(466) = V(337)
  V_USER(467) = V(668)
  V_USER(468) = V(389)
  V_USER(469) = V(558)
  V_USER(470) = V(178)
  V_USER(471) = V(678)
  V_USER(472) = V(739)
  V_USER(473) = V(179)
  V_USER(474) = V(709)
  V_USER(475) = V(551)
  V_USER(476) = V(566)
  V_USER(477) = V(627)
  V_USER(478) = V(448)
  V_USER(479) = V(556)
  V_USER(480) = V(33)
  V_USER(481) = V(109)
  V_USER(482) = V(181)
  V_USER(483) = V(424)
  V_USER(484) = V(182)
  V_USER(485) = V(274)
  V_USER(486) = V(34)
  V_USER(487) = V(554)
  V_USER(488) = V(628)
  V_USER(489) = V(390)
  V_USER(490) = V(714)
  V_USER(491) = V(183)
  V_USER(492) = V(275)
  V_USER(493) = V(595)
  V_USER(494) = V(528)
  V_USER(495) = V(407)
  V_USER(496) = V(449)
  V_USER(497) = V(340)
  V_USER(498) = V(482)
  V_USER(499) = V(640)
  V_USER(500) = V(231)
  V_USER(501) = V(408)
  V_USER(502) = V(276)
  V_USER(503) = V(341)
  V_USER(504) = V(184)
  V_USER(505) = V(530)
  V_USER(506) = V(531)
  V_USER(507) = V(603)
  V_USER(508) = V(533)
  V_USER(509) = V(621)
  V_USER(510) = V(232)
  V_USER(511) = V(110)
  V_USER(512) = V(185)
  V_USER(513) = V(392)
  V_USER(514) = V(70)
  V_USER(515) = V(563)
  V_USER(516) = V(484)
  V_USER(517) = V(722)
  V_USER(518) = V(587)
  V_USER(519) = V(71)
  V_USER(520) = V(233)
  V_USER(521) = V(187)
  V_USER(522) = V(343)
  V_USER(523) = V(428)
  V_USER(524) = V(450)
  V_USER(525) = V(623)
  V_USER(526) = V(35)
  V_USER(527) = V(579)
  V_USER(528) = V(188)
  V_USER(529) = V(1)
  V_USER(530) = V(311)
  V_USER(531) = V(36)
  V_USER(532) = V(277)
  V_USER(533) = V(234)
  V_USER(534) = V(658)
  V_USER(535) = V(111)
  V_USER(536) = V(191)
  V_USER(537) = V(279)
  V_USER(538) = V(192)
  V_USER(539) = V(346)
  V_USER(540) = V(665)
  V_USER(541) = V(37)
  V_USER(542) = V(112)
  V_USER(543) = V(193)
  V_USER(544) = V(194)
  V_USER(545) = V(280)
  V_USER(546) = V(552)
  V_USER(547) = V(347)
  V_USER(548) = V(348)
  V_USER(549) = V(626)
  V_USER(550) = V(281)
  V_USER(551) = V(718)
  V_USER(552) = V(411)
  V_USER(553) = V(38)
  V_USER(554) = V(564)
  V_USER(555) = V(529)
  V_USER(556) = V(734)
  V_USER(557) = V(349)
  V_USER(558) = V(113)
  V_USER(559) = V(637)
  V_USER(560) = V(39)
  V_USER(561) = V(611)
  V_USER(562) = V(254)
  V_USER(563) = V(394)
  V_USER(564) = V(431)
  V_USER(565) = V(72)
  V_USER(566) = V(395)
  V_USER(567) = V(235)
  V_USER(568) = V(514)
  V_USER(569) = V(196)
  V_USER(570) = V(581)
  V_USER(571) = V(197)
  V_USER(572) = V(608)
  V_USER(573) = V(73)
  V_USER(574) = V(560)
  V_USER(575) = V(40)
  V_USER(576) = V(246)
  V_USER(577) = V(679)
  V_USER(578) = V(283)
  V_USER(579) = V(441)
  V_USER(580) = V(465)
  V_USER(581) = V(41)
  V_USER(582) = V(517)
  V_USER(583) = V(397)
  V_USER(584) = V(74)
  V_USER(585) = V(432)
  V_USER(586) = V(494)
  V_USER(587) = V(570)
  V_USER(588) = V(571)
  V_USER(589) = V(199)
  V_USER(590) = V(452)
  V_USER(591) = V(115)
  V_USER(592) = V(728)
  V_USER(593) = V(398)
  V_USER(594) = V(708)
  V_USER(595) = V(732)
  V_USER(596) = V(662)
  V_USER(597) = V(496)
  V_USER(598) = V(527)
  V_USER(599) = V(667)
  V_USER(600) = V(610)
  V_USER(601) = V(200)
  V_USER(602) = V(466)
  V_USER(603) = V(681)
  V_USER(604) = V(694)
  V_USER(605) = V(116)
  V_USER(606) = V(638)
  V_USER(607) = V(664)
  V_USER(608) = V(42)
  V_USER(609) = V(454)
  V_USER(610) = V(285)
  V_USER(611) = V(201)
  V_USER(612) = V(599)
  V_USER(613) = V(75)
  V_USER(614) = V(202)
  V_USER(615) = V(203)
  V_USER(616) = V(357)
  V_USER(617) = V(358)
  V_USER(618) = V(204)
  V_USER(619) = V(205)
  V_USER(620) = V(117)
  V_USER(621) = V(206)
  V_USER(622) = V(287)
  V_USER(623) = V(399)
  V_USER(624) = V(519)
  V_USER(625) = V(207)
  V_USER(626) = V(602)
  V_USER(627) = V(456)
  V_USER(628) = V(312)
  V_USER(629) = V(363)
  V_USER(630) = V(413)
  V_USER(631) = V(237)
  V_USER(632) = V(118)
  V_USER(633) = V(652)
  V_USER(634) = V(576)
  V_USER(635) = V(208)
  V_USER(636) = V(119)
  V_USER(637) = V(414)
  V_USER(638) = V(501)
  V_USER(639) = V(120)
  V_USER(640) = V(209)
  V_USER(641) = V(210)
  V_USER(642) = V(725)
  V_USER(643) = V(43)
  V_USER(644) = V(76)
  V_USER(645) = V(121)
  V_USER(646) = V(77)
  V_USER(647) = V(458)
  V_USER(648) = V(213)
  V_USER(649) = V(239)
  V_USER(650) = V(291)
  V_USER(651) = V(622)
  V_USER(652) = V(368)
  V_USER(653) = V(444)
  V_USER(654) = V(44)
  V_USER(655) = V(415)
  V_USER(656) = V(80)
  V_USER(657) = V(736)
  V_USER(659) = V(369)
  V_USER(660) = V(370)
  V_USER(661) = V(293)
  V_USER(662) = V(506)
  V_USER(663) = V(605)
  V_USER(664) = V(706)
  V_USER(665) = V(371)
  V_USER(666) = V(583)
  V_USER(667) = V(372)
  V_USER(668) = V(214)
  V_USER(669) = V(122)
  V_USER(670) = V(295)
  V_USER(671) = V(240)
  V_USER(672) = V(536)
  V_USER(673) = V(646)
  V_USER(674) = V(374)
  V_USER(675) = V(296)
  V_USER(676) = V(375)
  V_USER(677) = V(707)
  V_USER(678) = V(538)
  V_USER(679) = V(539)
  V_USER(680) = V(297)
  V_USER(681) = V(624)
  V_USER(682) = V(523)
  V_USER(683) = V(298)
  V_USER(684) = V(509)
  V_USER(685) = V(565)
  V_USER(686) = V(45)
  V_USER(687) = V(435)
  V_USER(688) = V(641)
  V_USER(689) = V(79)
  V_USER(690) = V(215)
  V_USER(691) = V(726)
  V_USER(692) = V(671)
  V_USER(693) = V(377)
  V_USER(694) = V(378)
  V_USER(695) = V(379)
  V_USER(696) = V(402)
  V_USER(697) = V(216)
  V_USER(698) = V(436)
  V_USER(699) = V(301)
  V_USER(700) = V(302)
  V_USER(701) = V(584)
  V_USER(702) = V(733)
  V_USER(703) = V(653)
  V_USER(704) = V(380)
  V_USER(705) = V(217)
  V_USER(706) = V(480)
  V_USER(707) = V(303)
  V_USER(708) = V(304)
  V_USER(709) = V(382)
  V_USER(710) = V(81)
  V_USER(711) = V(541)
  V_USER(712) = V(705)
  V_USER(713) = V(630)
  V_USER(714) = V(418)
  V_USER(715) = V(632)
  V_USER(716) = V(655)
  V_USER(717) = V(218)
  V_USER(718) = V(49)
  V_USER(719) = V(585)
  V_USER(720) = V(567)
  V_USER(721) = V(383)
  V_USER(722) = V(238)
  V_USER(723) = V(306)
  V_USER(724) = V(17)
  V_USER(725) = V(82)
  V_USER(726) = V(481)
  V_USER(727) = V(568)
  V_USER(728) = V(307)
  V_USER(729) = V(241)
  V_USER(730) = V(220)
  V_USER(731) = V(511)
  V_USER(732) = V(309)
  V_USER(733) = V(242)
  V_USER(734) = V(2)
  V_USER(735) = V(3)
  V_USER(736) = V(4)
  V_USER(737) = V(5)
  V_USER(738) = V(6)
  V_USER(739) = V(7)
      
END SUBROUTINE Shuffle_kpp2user

! End of Shuffle_kpp2user function
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! 
! GetMass - compute total mass of selected atoms
!   Arguments :
!      CL        - Concentration of all species (local)
!      Mass      - value of mass balance
! 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SUBROUTINE GetMass ( CL, Mass )

! CL - Concentration of all species (local)
  REAL(kind=dp) :: CL(NSPEC)
! Mass - value of mass balance
  REAL(kind=dp) :: Mass(1)

      
END SUBROUTINE GetMass

! End of GetMass function
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



END MODULE aromatics_kpp_Util

